package com.xs.designpattern;

import java.util.Arrays;
import java.util.List;

/**
 * 这是一个创建者类，用于创建不同的消息。
 * messageFromOrcs() 方法返回一个由单词组成的消息，用于表示一种消息来源。
 * messageFromElves() 方法返回另一种消息来源的消息。
 * @author xs
 */
public class Messenger {
    LetterComposite messageFromOrcs() {

        List<Word> words =
            Arrays.asList(new Word('W', 'h', 'e', 'r', 'e'), new Word('t', 'h', 'e', 'r', 'e'), new Word('i', 's'),
                new Word('a'), new Word('w', 'h', 'i', 'p'), new Word('t', 'h', 'e', 'r', 'e'), new Word('i', 's'),
                new Word('a'), new Word('w', 'a', 'y'));
        return new Sentence(words);
    }

    LetterComposite messageFromElves() {
        List<Word> words =
            Arrays.asList(new Word('M', 'u', 'c', 'h'), new Word('w', 'i', 'n', 'd'), new Word('p', 'o', 'u', 'r', 's'),
                new Word('f', 'r', 'o', 'm'), new Word('y', 'o', 'u', 'r'), new Word('m', 'o', 'u', 't', 'h'));
        return new Sentence(words);
    }
}
